package cn.sfrog.project.biz.web.service;


import cn.sfrog.common.core.domain.AjaxResult;
import cn.sfrog.common.core.domain.ApiAjaxResult;
import cn.sfrog.common.core.domain.entity.SysUser;
import cn.sfrog.project.biz.web.vo.AppSubmitIdCardInfoVo;
import cn.sfrog.project.biz.web.vo.AppSubmitJobAuthFormVo;
import cn.sfrog.project.biz.web.vo.account.AppUserAuthStatusVO;
import cn.sfrog.system.domain.vo.app.*;
import org.aspectj.weaver.loadtime.Aj;

import java.util.List;

/**
 * 广告轮播图Service接口
 */
public interface AppUserService{

    /**
     * APP用户注册
     * @param registerFormVO
     * @return
     */
    Boolean appUserRegister(AppUserRegisterFormVO registerFormVO);

    /**
     * APP用户登录
     * @param loginFormVO
     * @return
     */
    String appUserLogin(AppUserLoginFormVO loginFormVO);

    /**
     * 获取用户信息
     * @return
     */
    SysUser getUserInfo();

    /**
     * APP用户身份认证
     * @param vo
     * @return
     */
    Boolean submitIdCardInfo(AppSubmitIdCardInfoVo vo);

    /**
     * APP-修改用户信息
     * @param userInfoVO
     * @return
     */
    Boolean updateUserInfo(AppUpdateUserInfoVO userInfoVO);

    /**
     * APP-修改手机号
     * @param vo
     * @return
     */
    Boolean updateUserPhone(AppUpdateUserPhoneVO vo);

    /**
     * 职业资格认证
     * @param form
     * @return
     */
    ApiAjaxResult submitJobAuth(AppSubmitJobAuthFormVo form);

    /**
     * 获取
     * @return
     */
    AppUserAuthStatusVO selectAuthStatus();

    /**
     * 取消身份证认证接口
     * @return
     */
    Boolean cancelIdCardAuth();

    /**
     * 查询用户类型名称
     * @param phone
     * @return
     */
    List<AppUserResultVO> selectAppUserList(String phone);

    /**
     * 获取用户的医生陪诊陪护等状态
     */
    ApiAjaxResult getAllStatus();
}
